/**
 * JAVACC DEMO 1.0
 */
package com.apache.info.service.plugins;

import com.apache.api.vo.ParamsVo;
import com.apache.cache.util.Validator;

import java.util.Map;

/**
 * description:  主子列表联查
 *
 * @author iussoft 创建时间：2016-10-15
 */
public class SubSelectInfoPluginImpl extends AbstractSubInfoPlugin {

    /**
     * TODO 简单描述该方法的实现功能（可选）.
     *
     * @see com.apache.info.service.plugins.AbstractSubInfoPlugin#doInvoke(ParamsVo)
     */
    protected Object doInvoke(ParamsVo vo) {
        if (Validator.isNull(String.valueOf(vo.getParams("dyncSql")))) {//直接执行sql查询
            String sql = this.getDynicSql(vo, 4, "", "");
            vo.setParams("dyncSql", sql);
        }
        Map<String, String> map = (Map) vo.getParams();
        String pageSize = Validator.getDefaultStr(map.get("pageSize"), map.get("rows"));
        pageSize = Validator.getDefaultStr(pageSize, "0");
        if ("0".equals(pageSize)) {
            return InfoReleaseManager.getList(vo);
        } else {
            String pageIndex = Validator.getDefaultStr(map.get("pageIndex"), "1");
            vo.setParams("pageIndex", pageIndex);
            vo.setParams("pageSize", pageSize);
            return InfoReleaseManager.getPageInfo(vo);
        }
    }

}
